-
-
Notifications
You must be signed in to change notification settings - Fork 592
refactor: make bzlmod directly aware of created toolchain repo names #2885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: make bzlmod directly aware of created toolchain repo names #2885
Conversation
0f0160d
to
acf4136
Compare
Ready for PTAL; dependency PR merged |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
for i, toolchain_info in enumerate(py.toolchains): | ||
is_last = (i + 1) == len(py.toolchains) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for i, toolchain_info in enumerate(py.toolchains): | |
is_last = (i + 1) == len(py.toolchains) | |
all_toolchains = zip( | |
[False] * len(py.toolchains), | |
py.toolchains, | |
)[:-1] | |
all_toolchains.append( | |
(True, py.toolchains[-1]) | |
) | |
for set_python_toolchain_constraint, toolchain_info in all_toolchains: |
You could do this, I am curious what is more readable.
Also, I can't remember if the last toolchain is still special because we always know the python_version
flag setting, so the comment/logic may be outdated. At least when I was bugfixing code in this location I think that the case when the python_version
does not match the preceding entries never happens in bzlmod.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re: if no-version occurs: Good point. It would occur if...hmm...If --python_version was set to a version that wasn't known? This could occur if someone registered a toolchain outside of python.toolchain()
…into refactor.bzlmod.flatten.tc.registering
This makes python_register_toolchains return the repo names it created, which allows
the bzlmod code to be directly aware of the repos that were created instead of having
to rely on assuming the names via the platform keys.
This is to facilitate python_register_toolchains creating a more arbitrary subset
of platform-specific repos.
Work towards #2081